else if(GlobalNames.decode(message.getSender()) == GlobalNames.USER_AGENT) {
  if(msg.getPerformative() == ACLMessage.INFORM) {
    UserMessage um = (UserMessage)message;
    if( GlobalNames.getAreaCode(myAgent.getLocalName()).equalsIgnoreCase(
        Integer.toString(um.location_x)+Integer.toString(um.location_y)) ) {      
      if(preferenceTemperature != um.temperature) {
        userIn = um.getSender();
        preferenceTemperature = um.temperature;
        ACLMessage acl = new ACLMessage(ACLMessage.REQUEST);
        acl.setContent(AMessage.constructMessage((Messageable)myAgent, 
                    AMessage.MessageType.ADJUST));
        acl.addReceiver(new AID(GlobalNames.getAreaCode(getLocalName()) + 
                    GlobalNames.FLOOR_HEATER_AGENT.get(),AID.ISLOCALNAME));
        send(acl);
      }
    }
    else { //go back to default:
      if(preferenceTemperature != defaultTemperature) {
        userIn = "";
        preferenceTemperature = defaultTemperature;
        //construct the same message and reciever.
        send(acl);
      }
    }
  }
}